-> Module created with E:bin/fd2module from YAECv18 package.
OPT NDDC
#macro Open(name,accessMode) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,accessMode) BUT Loads(A6,D1,D2) BUT ASM ' jsr -30(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro Close(file) IS (D1:=file) BUT (A6:=dosbase) BUT ASM ' jsr -36(a6)'
#macro Read(file,buffer,length) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,file,buffer,length) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -42(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro Write(file,buffer,length) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,file,buffer,length) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -48(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro Input() IS (A6:=dosbase) BUT ASM ' jsr -54(a6)'
#macro Output() IS (A6:=dosbase) BUT ASM ' jsr -60(a6)'
#macro Seek(file,position,offset) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,file,position,offset) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -66(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro DeleteFile(name) IS (D1:=name) BUT (A6:=dosbase) BUT ASM ' jsr -72(a6)'
#macro Rename(oldName,newName) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,oldName,newName) BUT Loads(A6,D1,D2) BUT ASM ' jsr -78(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro Lock(name,type) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,type) BUT Loads(A6,D1,D2) BUT ASM ' jsr -84(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro UnLock(lock) IS (D1:=lock) BUT (A6:=dosbase) BUT ASM ' jsr -90(a6)'
#macro DupLock(lock) IS (D1:=lock) BUT (A6:=dosbase) BUT ASM ' jsr -96(a6)'
#macro Examine(lock,fileInfoBlock) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,lock,fileInfoBlock) BUT Loads(A6,D1,D2) BUT ASM ' jsr -102(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro ExNext(lock,fileInfoBlock) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,lock,fileInfoBlock) BUT Loads(A6,D1,D2) BUT ASM ' jsr -108(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro Info(lock,parameterBlock) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,lock,parameterBlock) BUT Loads(A6,D1,D2) BUT ASM ' jsr -114(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro CreateDir(name) IS (D1:=name) BUT (A6:=dosbase) BUT ASM ' jsr -120(a6)'
#macro CurrentDir(lock) IS (D1:=lock) BUT (A6:=dosbase) BUT ASM ' jsr -126(a6)'
#macro IoErr() IS (A6:=dosbase) BUT ASM ' jsr -132(a6)'
#macro CreateProc(name,pri,segList,stackSize) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(dosbase,name,pri,segList,stackSize) BUT Loads(A6,D1,D2,D3,D4) BUT ASM ' jsr -138(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
#macro Exit(returnCode) IS (D1:=returnCode) BUT (A6:=dosbase) BUT ASM ' jsr -144(a6)'
#macro LoadSeg(name) IS (D1:=name) BUT (A6:=dosbase) BUT ASM ' jsr -150(a6)'
#macro UnLoadSeg(seglist) IS (D1:=seglist) BUT (A6:=dosbase) BUT ASM ' jsr -156(a6)'
#macro DeviceProc(name) IS (D1:=name) BUT (A6:=dosbase) BUT ASM ' jsr -174(a6)'
#macro SetComment(name,comment) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,comment) BUT Loads(A6,D1,D2) BUT ASM ' jsr -180(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro SetProtection(name,protect) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,protect) BUT Loads(A6,D1,D2) BUT ASM ' jsr -186(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro DateStamp(date) IS (D1:=date) BUT (A6:=dosbase) BUT ASM ' jsr -192(a6)'
#macro Delay(timeout) IS (D1:=timeout) BUT (A6:=dosbase) BUT ASM ' jsr -198(a6)'
#macro WaitForChar(file,timeout) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,file,timeout) BUT Loads(A6,D1,D2) BUT ASM ' jsr -204(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro ParentDir(lock) IS (D1:=lock) BUT (A6:=dosbase) BUT ASM ' jsr -210(a6)'
#macro IsInteractive(file) IS (D1:=file) BUT (A6:=dosbase) BUT ASM ' jsr -216(a6)'
#macro Execute(string,file,file2) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,string,file,file2) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -222(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
-> --- functions in V36 or higher (Release 2.0) ---
-> DOS Object creation/deletion
#macro AllocDosObject(type,tags) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,type,tags) BUT Loads(A6,D1,D2) BUT ASM ' jsr -228(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro FreeDosObject(type,ptr) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,type,ptr) BUT Loads(A6,D1,D2) BUT ASM ' jsr -234(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
-> Packet Level routines
#macro DoPkt(port,action,arg1,arg2,arg3,arg4,arg5) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(dosbase,port,action,arg1,arg2,arg3,arg4,arg5) BUT Loads(A6,D1,D2,D3,D4,D5,D6,D7) BUT ASM ' jsr -240(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
#macro SendPkt(dp,port,replyport) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,dp,port,replyport) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -246(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro WaitPkt() IS (A6:=dosbase) BUT ASM ' jsr -252(a6)'
#macro ReplyPkt(dp,res1,res2) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,dp,res1,res2) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -258(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro AbortPkt(port,pkt) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,port,pkt) BUT Loads(A6,D1,D2) BUT ASM ' jsr -264(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
-> Record Locking
#macro LockRecord(fh,offset,length,mode,timeout) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(dosbase,fh,offset,length,mode,timeout) BUT Loads(A6,D1,D2,D3,D4,D5) BUT ASM ' jsr -270(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
#macro LockRecords(recArray,timeout) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,recArray,timeout) BUT Loads(A6,D1,D2) BUT ASM ' jsr -276(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro UnLockRecord(fh,offset,length) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,fh,offset,length) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -282(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro UnLockRecords(recArray) IS (D1:=recArray) BUT (A6:=dosbase) BUT ASM ' jsr -288(a6)'
-> Buffered File I/O
#macro SelectInput(fh) IS (D1:=fh) BUT (A6:=dosbase) BUT ASM ' jsr -294(a6)'
#macro SelectOutput(fh) IS (D1:=fh) BUT (A6:=dosbase) BUT ASM ' jsr -300(a6)'
#macro FGetC(fh) IS (D1:=fh) BUT (A6:=dosbase) BUT ASM ' jsr -306(a6)'
#macro FPutC(fh,ch) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,fh,ch) BUT Loads(A6,D1,D2) BUT ASM ' jsr -312(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro UnGetC(fh,character) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,fh,character) BUT Loads(A6,D1,D2) BUT ASM ' jsr -318(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro FRead(fh,block,blocklen,number) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(dosbase,fh,block,blocklen,number) BUT Loads(A6,D1,D2,D3,D4) BUT ASM ' jsr -324(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
#macro FWrite(fh,block,blocklen,number) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(dosbase,fh,block,blocklen,number) BUT Loads(A6,D1,D2,D3,D4) BUT ASM ' jsr -330(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
#macro FGets(fh,buf,buflen) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,fh,buf,buflen) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -336(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro FPuts(fh,str) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,fh,str) BUT Loads(A6,D1,D2) BUT ASM ' jsr -342(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro VFWritef(fh,format,argarray) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,fh,format,argarray) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -348(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro VFPrintf(fh,format,argarray) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,fh,format,argarray) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -354(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro Flush(fh) IS (D1:=fh) BUT (A6:=dosbase) BUT ASM ' jsr -360(a6)'
#macro SetVBuf(fh,buff,type,size) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(dosbase,fh,buff,type,size) BUT Loads(A6,D1,D2,D3,D4) BUT ASM ' jsr -366(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
-> DOS Object Management
#macro DupLockFromFH(fh) IS (D1:=fh) BUT (A6:=dosbase) BUT ASM ' jsr -372(a6)'
#macro OpenFromLock(lock) IS (D1:=lock) BUT (A6:=dosbase) BUT ASM ' jsr -378(a6)'
#macro ParentOfFH(fh) IS (D1:=fh) BUT (A6:=dosbase) BUT ASM ' jsr -384(a6)'
#macro ExamineFH(fh,fib) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,fh,fib) BUT Loads(A6,D1,D2) BUT ASM ' jsr -390(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro SetFileDate(name,date) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,date) BUT Loads(A6,D1,D2) BUT ASM ' jsr -396(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro NameFromLock(lock,buffer,len) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,lock,buffer,len) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -402(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro NameFromFH(fh,buffer,len) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,fh,buffer,len) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -408(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro SplitName(name,seperator,buf,oldpos,size) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(dosbase,name,seperator,buf,oldpos,size) BUT Loads(A6,D1,D2,D3,D4,D5) BUT ASM ' jsr -414(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
#macro SameLock(lock1,lock2) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,lock1,lock2) BUT Loads(A6,D1,D2) BUT ASM ' jsr -420(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro SetMode(fh,mode) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,fh,mode) BUT Loads(A6,D1,D2) BUT ASM ' jsr -426(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro ExAll(lock,buffer,size,data,control) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(dosbase,lock,buffer,size,data,control) BUT Loads(A6,D1,D2,D3,D4,D5) BUT ASM ' jsr -432(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
#macro ReadLink(port,lock,path,buffer,size) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(dosbase,port,lock,path,buffer,size) BUT Loads(A6,D1,D2,D3,D4,D5) BUT ASM ' jsr -438(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
#macro MakeLink(name,dest,soft) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,dest,soft) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -444(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro ChangeMode(type,fh,newmode) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,type,fh,newmode) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -450(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro SetFileSize(fh,pos,mode) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,fh,pos,mode) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -456(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
-> Error Handling
#macro SetIoErr(result) IS (D1:=result) BUT (A6:=dosbase) BUT ASM ' jsr -462(a6)'
#macro Fault(code,header,buffer,len) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(dosbase,code,header,buffer,len) BUT Loads(A6,D1,D2,D3,D4) BUT ASM ' jsr -468(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
#macro PrintFault(code,header) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,code,header) BUT Loads(A6,D1,D2) BUT ASM ' jsr -474(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro ErrorReport(code,type,arg1,device) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(dosbase,code,type,arg1,device) BUT Loads(A6,D1,D2,D3,D4) BUT ASM ' jsr -480(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
-> --- (1 function slot reserved here) ---
-> Process Management
#macro Cli() IS (A6:=dosbase) BUT ASM ' jsr -492(a6)'
#macro CreateNewProc(tags) IS (D1:=tags) BUT (A6:=dosbase) BUT ASM ' jsr -498(a6)'
#macro RunCommand(seg,stack,paramptr,paramlen) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(dosbase,seg,stack,paramptr,paramlen) BUT Loads(A6,D1,D2,D3,D4) BUT ASM ' jsr -504(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
#macro GetConsoleTask() IS (A6:=dosbase) BUT ASM ' jsr -510(a6)'
#macro SetConsoleTask(task) IS (D1:=task) BUT (A6:=dosbase) BUT ASM ' jsr -516(a6)'
#macro GetFileSysTask() IS (A6:=dosbase) BUT ASM ' jsr -522(a6)'
#macro SetFileSysTask(task) IS (D1:=task) BUT (A6:=dosbase) BUT ASM ' jsr -528(a6)'
#macro GetArgStr() IS (A6:=dosbase) BUT ASM ' jsr -534(a6)'
#macro SetArgStr(string) IS (D1:=string) BUT (A6:=dosbase) BUT ASM ' jsr -540(a6)'
#macro FindCliProc(num) IS (D1:=num) BUT (A6:=dosbase) BUT ASM ' jsr -546(a6)'
#macro MaxCli() IS (A6:=dosbase) BUT ASM ' jsr -552(a6)'
#macro SetCurrentDirName(name) IS (D1:=name) BUT (A6:=dosbase) BUT ASM ' jsr -558(a6)'
#macro GetCurrentDirName(buf,len) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,buf,len) BUT Loads(A6,D1,D2) BUT ASM ' jsr -564(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro SetProgramName(name) IS (D1:=name) BUT (A6:=dosbase) BUT ASM ' jsr -570(a6)'
#macro GetProgramName(buf,len) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,buf,len) BUT Loads(A6,D1,D2) BUT ASM ' jsr -576(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro SetPrompt(name) IS (D1:=name) BUT (A6:=dosbase) BUT ASM ' jsr -582(a6)'
#macro GetPrompt(buf,len) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,buf,len) BUT Loads(A6,D1,D2) BUT ASM ' jsr -588(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro SetProgramDir(lock) IS (D1:=lock) BUT (A6:=dosbase) BUT ASM ' jsr -594(a6)'
#macro GetProgramDir() IS (A6:=dosbase) BUT ASM ' jsr -600(a6)'
-> Device List Management
#macro SystemTagList(command,tags) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,command,tags) BUT Loads(A6,D1,D2) BUT ASM ' jsr -606(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro AssignLock(name,lock) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,lock) BUT Loads(A6,D1,D2) BUT ASM ' jsr -612(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro AssignLate(name,path) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,path) BUT Loads(A6,D1,D2) BUT ASM ' jsr -618(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro AssignPath(name,path) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,path) BUT Loads(A6,D1,D2) BUT ASM ' jsr -624(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro AssignAdd(name,lock) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,lock) BUT Loads(A6,D1,D2) BUT ASM ' jsr -630(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro RemAssignList(name,lock) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,lock) BUT Loads(A6,D1,D2) BUT ASM ' jsr -636(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro GetDeviceProc(name,dp) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,dp) BUT Loads(A6,D1,D2) BUT ASM ' jsr -642(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro FreeDeviceProc(dp) IS (D1:=dp) BUT (A6:=dosbase) BUT ASM ' jsr -648(a6)'
#macro LockDosList(flags) IS (D1:=flags) BUT (A6:=dosbase) BUT ASM ' jsr -654(a6)'
#macro UnLockDosList(flags) IS (D1:=flags) BUT (A6:=dosbase) BUT ASM ' jsr -660(a6)'
#macro AttemptLockDosList(flags) IS (D1:=flags) BUT (A6:=dosbase) BUT ASM ' jsr -666(a6)'
#macro RemDosEntry(dlist) IS (D1:=dlist) BUT (A6:=dosbase) BUT ASM ' jsr -672(a6)'
#macro AddDosEntry(dlist) IS (D1:=dlist) BUT (A6:=dosbase) BUT ASM ' jsr -678(a6)'
#macro FindDosEntry(dlist,name,flags) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,dlist,name,flags) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -684(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro NextDosEntry(dlist,flags) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,dlist,flags) BUT Loads(A6,D1,D2) BUT ASM ' jsr -690(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro MakeDosEntry(name,type) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,type) BUT Loads(A6,D1,D2) BUT ASM ' jsr -696(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro FreeDosEntry(dlist) IS (D1:=dlist) BUT (A6:=dosbase) BUT ASM ' jsr -702(a6)'
#macro IsFileSystem(name) IS (D1:=name) BUT (A6:=dosbase) BUT ASM ' jsr -708(a6)'
-> Handler Interface
#macro Format(filesystem,volumename,dostype) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,filesystem,volumename,dostype) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -714(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro Relabel(drive,newname) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,drive,newname) BUT Loads(A6,D1,D2) BUT ASM ' jsr -720(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro Inhibit(name,onoff) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,onoff) BUT Loads(A6,D1,D2) BUT ASM ' jsr -726(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro AddBuffers(name,number) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,number) BUT Loads(A6,D1,D2) BUT ASM ' jsr -732(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
-> Date, Time Routines
#macro CompareDates(date1,date2) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,date1,date2) BUT Loads(A6,D1,D2) BUT ASM ' jsr -738(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro DateToStr(datetime) IS (D1:=datetime) BUT (A6:=dosbase) BUT ASM ' jsr -744(a6)'
#macro StrToDate(datetime) IS (D1:=datetime) BUT (A6:=dosbase) BUT ASM ' jsr -750(a6)'
-> Image Management
#macro InternalLoadSeg(fh,table,funcarray,stack) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,fh,table,funcarray,stack) BUT Loads(A6,D0,A0,A1,A2) BUT ASM ' jsr -756(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro InternalUnLoadSeg(seglist,freefunc) IS Stores(dosbase,seglist,freefunc) BUT Loads(A6,D1,A1) BUT ASM ' jsr -762(a6)'
#macro NewLoadSeg(file,tags) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,file,tags) BUT Loads(A6,D1,D2) BUT ASM ' jsr -768(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro AddSegment(name,seg,system) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,seg,system) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -774(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro FindSegment(name,seg,system) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,seg,system) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -780(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro RemSegment(seg) IS (D1:=seg) BUT (A6:=dosbase) BUT ASM ' jsr -786(a6)'
-> Command Support
#macro CheckSignal(mask) IS (D1:=mask) BUT (A6:=dosbase) BUT ASM ' jsr -792(a6)'
#macro ReadArgs(arg_template,array,args) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,arg_template,array,args) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -798(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro FindArg(keyword,arg_template) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,keyword,arg_template) BUT Loads(A6,D1,D2) BUT ASM ' jsr -804(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro ReadItem(name,maxchars,cSource) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,maxchars,cSource) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -810(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro StrToLong(string,value) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,string,value) BUT Loads(A6,D1,D2) BUT ASM ' jsr -816(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro MatchFirst(pat,anchor) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,pat,anchor) BUT Loads(A6,D1,D2) BUT ASM ' jsr -822(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro MatchNext(anchor) IS (D1:=anchor) BUT (A6:=dosbase) BUT ASM ' jsr -828(a6)'
#macro MatchEnd(anchor) IS (D1:=anchor) BUT (A6:=dosbase) BUT ASM ' jsr -834(a6)'
#macro ParsePattern(pat,buf,buflen) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,pat,buf,buflen) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -840(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro MatchPattern(pat,str) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,pat,str) BUT Loads(A6,D1,D2) BUT ASM ' jsr -846(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro FreeArgs(args) IS (D1:=args) BUT (A6:=dosbase) BUT ASM ' jsr -858(a6)'
-> --- (1 function slot reserved here) ---
#macro FilePart(path) IS (D1:=path) BUT (A6:=dosbase) BUT ASM ' jsr -870(a6)'
#macro PathPart(path) IS (D1:=path) BUT (A6:=dosbase) BUT ASM ' jsr -876(a6)'
#macro AddPart(dirname,filename,size) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,dirname,filename,size) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -882(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
-> Notification
#macro StartNotify(notify) IS (D1:=notify) BUT (A6:=dosbase) BUT ASM ' jsr -888(a6)'
#macro EndNotify(notify) IS (D1:=notify) BUT (A6:=dosbase) BUT ASM ' jsr -894(a6)'
-> Environment Variable functions
#macro SetVar(name,buffer,size,flags) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(dosbase,name,buffer,size,flags) BUT Loads(A6,D1,D2,D3,D4) BUT ASM ' jsr -900(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
#macro GetVar(name,buffer,size,flags) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(dosbase,name,buffer,size,flags) BUT Loads(A6,D1,D2,D3,D4) BUT ASM ' jsr -906(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
#macro DeleteVar(name,flags) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,flags) BUT Loads(A6,D1,D2) BUT ASM ' jsr -912(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro FindVar(name,type) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,type) BUT Loads(A6,D1,D2) BUT ASM ' jsr -918(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro CliInitNewcli(dp) IS (A0:=dp) BUT (A6:=dosbase) BUT ASM ' jsr -930(a6)'
#macro CliInitRun(dp) IS (A0:=dp) BUT (A6:=dosbase) BUT ASM ' jsr -936(a6)'
#macro WriteChars(buf,buflen) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,buf,buflen) BUT Loads(A6,D1,D2) BUT ASM ' jsr -942(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro PutStr(str) IS (D1:=str) BUT (A6:=dosbase) BUT ASM ' jsr -948(a6)'
#macro VPrintf(format,argarray) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,format,argarray) BUT Loads(A6,D1,D2) BUT ASM ' jsr -954(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
-> --- (1 function slot reserved here) ---
-> these were unimplemented until dos 36.147
#macro ParsePatternNoCase(pat,buf,buflen) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,pat,buf,buflen) BUT Loads(A6,D1,D2,D3) BUT ASM ' jsr -966(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
#macro MatchPatternNoCase(pat,str) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,pat,str) BUT Loads(A6,D1,D2) BUT ASM ' jsr -972(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
-> this was added for V37 dos, returned 0 before then.
#macro SameDevice(lock1,lock2) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,lock1,lock2) BUT Loads(A6,D1,D2) BUT ASM ' jsr -984(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'
->
-> NOTE: the following entries did NOT exist before ks 36.303 (2.02)
-> If you are going to use them, open dos.library with version 37
->
-> These calls were added for V39 dos:
#macro ExAllEnd(lock,buffer,size,data,control) IS ASM ' movem.l d2-d7/a2-a5,-(a7)' BUT Stores(dosbase,lock,buffer,size,data,control) BUT Loads(A6,D1,D2,D3,D4,D5) BUT ASM ' jsr -990(a6)' BUT ASM ' movem.l (a7)+, d2-d7/a2-a5'
#macro SetOwner(name,owner_info) IS ASM ' movem.l d2-d3/a2-a3,-(a7)' BUT Stores(dosbase,name,owner_info) BUT Loads(A6,D1,D2) BUT ASM ' jsr -996(a6)' BUT ASM ' movem.l (a7)+, d2-d3/a2-a3'